/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Simuladores;

import SensorDataDesktop.*;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Luis
 */
public class EnvioTramaUDP extends Thread {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        DatagramSocket aSocket = null;
        String trama = "";
        while (true) {
            try {
                sleep(100000);
            } catch (InterruptedException ex) {
                Logger.getLogger(EnvioTramaUDP.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {

                // Crea un socket para datagramas y le asocia un puerto local.
                aSocket = new DatagramSocket();

                // Creamos una cadena de bytes, con el mensaje recibido por argumento.

                trama = "#1,3," + Math.random() * 10 + "," + Math.random() * 80 + "," + Math.random() * 10 + "," + Math.random() * 10;

                byte[] m = new byte[1000];

                m = trama.getBytes();

                InetAddress aHost;

                // Obtenemos un objeto InetAddres por su nombre de host. El cual
                // es pasado como argumento.
                aHost = InetAddress.getByName("localhost");

                // Establecemos el número de puerto.
                int serverPort = 1234;

                // Generamos un datagrama para mensages con el mensaje y su longitud,
                // usando el host y el puerto establecidos.
                DatagramPacket request = new DatagramPacket(m, m.length, aHost, serverPort);

                // Envia el datagrama creado anteriormente por el socket.
                aSocket.send(request);

            } catch (SocketException ex) {

                Logger.getLogger(EnvioTramaUDP.class.getName()).log(Level.SEVERE, null, ex);

            } catch (UnknownHostException ex) {

                Logger.getLogger(EnvioTramaUDP.class.getName()).log(Level.SEVERE, null, ex);

            } catch (IOException ex) {

                Logger.getLogger(EnvioTramaUDP.class.getName()).log(Level.SEVERE, null, ex);

            } //Excepciones
        }
    }
}
